<?php
require_once 'config.php';
require_once 'includes/functions.php';

// 获取邀请码
$inviteCode = isset($_GET['code']) ? trim($_GET['code']) : '';
if (empty($inviteCode)) {
    die('邀请码不能为空');
}

// 验证邀请码
try {
    $pdo = getDB();
    $stmt = $pdo->prepare("SELECT name FROM invitations WHERE code = ?");
    $stmt->execute([$inviteCode]);
    $invitation = $stmt->fetch();
    
    if (!$invitation) {
        die('无效的邀请码');
    }
} catch (Exception $e) {
    error_log($e->getMessage());
    die('系统错误');
}

// 设置内容类型为图片
header('Content-Type: image/jpeg');

// 创建图像
$width = 750;  // 海报宽度
$height = 1334; // 海报高度

// 创建画布
$image = imagecreatetruecolor($width, $height);

// 加载背景图
$background = imagecreatefromjpeg('images/poster_bg.jpg'); // 请确保此背景图存在
$bgWidth = imagesx($background);
$bgHeight = imagesy($background);

// 将背景图缩放并复制到画布
imagecopyresampled($image, $background, 0, 0, 0, 0, $width, $height, $bgWidth, $bgHeight);

// 生成二维码
$qrUrl = SITE_URL . "/?code=" . $inviteCode;

// 使用本地二维码库生成二维码
require_once 'phpqrcode/qrlib.php';

// 创建临时文件存储二维码
$tempFile = tempnam(sys_get_temp_dir(), 'qr_');
QRcode::png($qrUrl, $tempFile, QR_ECLEVEL_L, 10, 2);

// 读取生成的二维码图片
$qrImage = imagecreatefrompng($tempFile);

// 删除临时文件
unlink($tempFile);

// 确保二维码背景是白色的
$white = imagecolorallocate($qrImage, 255, 255, 255);
imagefill($qrImage, 0, 0, $white);

// 将二维码添加到海报
$qrSize = 200; // 二维码大小
$qrX = ($width - $qrSize) / 2; // 水平居中
$qrY = $height - $qrSize - 350; // 距离底部100px
imagecopyresampled($image, $qrImage, $qrX, $qrY, 0, 0, $qrSize, $qrSize, imagesx($qrImage), imagesy($qrImage));

// 添加文字
$textColor = imagecolorallocate($image, 255, 255, 255); // 白色文字
$fontSize = 30;
$font = 'fonts/msyh.ttf'; // 请确保此字体文件存在

// 添加标题
$title = "四川杜客科技有限公司";
$titleBox = imagettfbbox($fontSize, 0, $font, $title);
$titleWidth = $titleBox[2] - $titleBox[0];
$titleX = ($width - $titleWidth) / 2;
imagettftext($image, $fontSize, 0, $titleX, 100, $textColor, $font, $title);

// 添加扫码提示
$scanText = "扫描二维码参与抽奖";
$scanBox = imagettfbbox($fontSize, 0, $font, $scanText);
$scanWidth = $scanBox[2] - $scanBox[0];
$scanX = ($width - $scanWidth) / 2;
imagettftext($image, $fontSize, 0, $scanX, $height - 50, $textColor, $font, $scanText);

// 输出图像
imagejpeg($image);

// 清理内存
imagedestroy($image);
imagedestroy($background);
imagedestroy($qrImage); 